package com.tjn.list_;

import java.util.ArrayList;

/**
 * @author 陶镓妮
 * @version 1.0
 * ArrayList的扩容原理
 */
public class ArrayList_ {
    @SuppressWarnings("all")
    public static void main(String[] args) {

        //ArrayList中有一个数组 transient Object[] elementData;
        //debug看源码

        ArrayList list = new ArrayList();
        //在使用无参构造器时，默认的初始容量为0，第一次添加元素，则扩容为10
        //再次扩容时，默认的扩容容量为旧容量的1.5倍

        //ArrayList list1 = new ArrayList(8);
        //在使用有参构造器时，自己指定了容量大小，，那么初识的熔炼大小就是指定大小
        //再次扩容时，默认的扩容容量为旧容量的1.5倍

        //添加1-10的元素
        for (int i = 0; i <= 10; i++) {
            list.add(i);
        }

        //添加11-15的元素
        for (int i = 11; i <= 15; i++) {
            list.add(i);
        }
        list.add(100);
        list.add(200);
    }
}
